package com.pureut.quality.domain.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pureut.common.core.annotation.Excel;
import com.pureut.common.core.web.domain.BaseEntity;
import lombok.Data;

import java.util.Date;
import java.util.List;


/**
 * 外审建议项报告对象
 * 
 * @author ruoyi
 * @date 2025-04-09
 */
@Data
@TableName("external_suggested_report")
public class ExternalSuggestedReportVo extends BaseEntity
{

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 记录单号 */
    @Excel(name = "记录单号")
    private String recordNumber;

    /** 填写时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "填写时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fillTime;

    /** 审核部门 */
    @Excel(name = "审核部门")
    private String auditDepartment;

    /** 审核人员 */
    @Excel(name = "审核人员")
    private String auditPerson;

    /** 责任部门 */
    @Excel(name = "责任部门")
    private String responsibleDepartment;

    /** 责任人 */
    @Excel(name = "责任人")
    private String responsiblePerson;

    /** 不合格分类 */
    @Excel(name = "不合格分类")
    private String unqualifiedClassification;

    /** 事项 */
    @Excel(name = "事项")
    private String matters;

    /** 标准条款 */
    @Excel(name = "标准条款")
    private String standardClause;

    /** 问题 */
    @Excel(name = "问题")
    private String problem;

    /** 改进意见 */
    @Excel(name = "改进意见")
    private String improvementSuggestion;

    /** 附件 */
    @Excel(name = "附件")
    private String attachment;

    /** 计划完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date plannedCompletionTime;

    /** 实际完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date actualCompletionTime;

    /** 验证情况附件 */
    @Excel(name = "验证情况附件")
    private String verificationAttachment;

    /** 是否通过（1是 2否） */
    @Excel(name = "是否通过", readConverterExp = "1=是,2=否")
    private String isPassed;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 修改时间
     * 当记录更新时会自动更新为当前时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 原因分析
     */
    private String causeAnalysis;

    /**
     * 改进措施
     */
    private String improvementMeasures;

    /**
     * 勾选的id
     */
    private String idStr;

    /**
     * 导出id集合
     */
    List<String> ids;
}
